abusing mk_kernel_pgd.
Also set the user bit on the vsyscall entry in the user pgd.
Both changes suggested by Jan Beulich.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
/* Construct mapping of initial pte page in our own directories. */
init_level4_pgt[pgd_index(__START_KERNEL_map)] =
- mk_kernel_pgd(__pa_symbol(level3_kernel_pgt) | _PAGE_USER);
+ __pgd(__pa_symbol(level3_kernel_pgt) | _PAGE_TABLE);
level3_kernel_pgt[pud_index(__START_KERNEL_map)] =
__pud(__pa_symbol(level2_kernel_pgt) |
_KERNPG_TABLE);
/*
* Set level3_user_pgt for vsyscall area
*/
- set_pgd(__user_pgd(pgd) + pgd_index(VSYSCALL_START),
- mk_kernel_pgd(__pa_symbol(level3_user_pgt)));
+ set_pgd(__user_pgd(pgd) + pgd_index(VSYSCALL_START),
+ __pgd(__pa_symbol(level3_user_pgt) | _PAGE_TABLE));
return pgd;
}